/**
 * mysql 连接池
 * 
 *  */
const mysql = require('mysql');

const pool = mysql.createPool({
  host: 'localhost',
  user: 'root',
  password: '123456',
  port: '3306',
  database: 'vue_emp',
  timezone: 'local'
})

class DbPool {
  /**
   * @param {String} sql  sql语句
   * @param {Array} params  sql 占位符参数
   */

  static query(sql, params) {
    return new Promise((resolve, reject) => {
      pool.getConnection((err, conn) => {   // 从连接池调用连接 conn 连接对象
        if (err) {
          console.error(err);
          conn.release();   // 归回连接池
        }
        conn.query(sql, params, (err, results) => {
          if (err) {
            console.error(err);
            reject(err);
          }
          resolve(results);
          conn.release();
        })
      })
    })
  }

  static formatParams() {
    let arr = [];
    for (let i = 0; i < arguments.length; i++) {
      arr.push(arguments[i]);
    }
    return arr;
  }
}

module.exports = DbPool;